package com.panshi.tools;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * Created by  on 2017/3/30 0030.
 *
 *
 * 磐石项目 最数据进行MD5加密
 *
 *
 */
public class PanshiAppMd5Sign {


	public static void main(String[] args) {


		String md5String = getMd5String(getMd5String("18268176350") + "vJkJBFXU3nEJZivy4WWERhHjBD17HLtC");
		System.out.println(md5String);

		System.out.printf(makeSignature("18268176350"));


	}

	public static String getMd5String(String str) {
		MessageDigest messageDigest = null;

		try {
			messageDigest = MessageDigest.getInstance("MD5");

			messageDigest.reset();

			messageDigest.update(str.getBytes("UTF-8"));
		} catch (NoSuchAlgorithmException e) {
			System.out.println("NoSuchAlgorithmException caught!");
			System.exit(-1);
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}

		byte[] byteArray = messageDigest.digest();

		StringBuffer md5StrBuff = new StringBuffer();

		for (int i = 0; i < byteArray.length; i++) {
			if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)
				md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));
			else
				md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
		}

		return md5StrBuff.toString();
	}

	public static String makeSignature(String str) {
		String sig = getMd5String(str) + str.charAt(3);
		sig = getMd5String(sig) + sig.charAt(1);
		sig = getMd5String(sig) + sig.charAt(5);
		return sig;
	}


	public static String getMd5keysCheck( String phone ) {

		return getMd5String(getMd5String(phone) + "vJkJBFXU3nEJZivy4WWERhHjBD17HLtC");

	}


}
